package com.yunkeji.system.service;

import com.yunkeji.common.core.domain.PageQuery;
import com.yunkeji.common.core.page.TableDataInfo;
import com.yunkeji.dao.vo.PayWithdrawVo;
import com.yunkeji.system.domain.bo.PayWithdrawBo;
import com.yunkeji.system.domain.bo.PayWithdrawCheckBo;

import java.util.Collection;
import java.util.List;

/**
 * 支付-提现Service接口
 *
 * @author zhang
 * @date 2024-07-10
 */
public interface IPayWithdrawService {

    /** 查询支付-提现 */
    PayWithdrawVo queryById(Long id);

    /** 查询支付-提现列表 */
    TableDataInfo<PayWithdrawVo> queryPageList(PayWithdrawBo bo, PageQuery pageQuery);

    /** 查询支付-提现列表 */
    List<PayWithdrawVo> queryList(PayWithdrawBo bo);

    /** 新增支付-提现 */
    Boolean insertByBo(PayWithdrawBo bo);

    /** 修改支付-提现 */
    Boolean updateByBo(PayWithdrawBo bo);

    /** 校验并批量删除支付-提现信息 */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /** 审核通过 */
    void pass(PayWithdrawCheckBo bo);

    /** 审核拒绝 */
    void refuse(PayWithdrawCheckBo bo);
}
